在談使用方法之前,我們可以先講一下為何我們需要監聽動態路由。
當我們使用動態路由匹配功能時,可能會在頁面中跳轉至其他也由動態路由生成的頁面,此時可能會發生「網址的 id 有變動但畫面沒有變動」的狀況。
個人判斷是因為 Vue 將此判定皆為同一個頁面所致。
因此我們需要監聽動態路由變動,來達成我們需要的跳轉效果。
我們首先可以先在 data 定義一個 pageId,並賦值為 $route.params.id
  data () {
    return {
      pageId: this.$route.params.id,
    }
  },
接著開始監聽路由變化,每當 $route 的值變動時,就將pageId重新賦值為to.params.id。
($route 有 from 和 to 兩個參數,from 代表現在所在的頁面,to 代表要前往的頁面。)
接著傳出一個 $emit 重新刷新頁面
watch: {
    // 監聽動態路由變化
    $route (to) {
      this.pageId = to.params.id
      this.$emit('change-page')
    }
  },
這樣就完成啦~